﻿using LxCore;
using System;

namespace LxCFD
{
    class ConditionPanelVM : BindableBase
    {
        public ConditionCenter Conditions { get; } = LxSim.Sim.Conditions;
        public PhysicsCenter PhysicalCenter { get; set; } = LxSim.Sim.Physics;

        private ZoneCond _SelZoneSet;

        public ZoneCond SelZoneSet
        {
            get { return _SelZoneSet; }
            set
            {
                _SelZoneSet = value;
                RaisePropertyChanged(nameof(SelZoneSet));
            }
        }

        private BoundCond _SelBoundSet;

        public BoundCond SelBoundSet
        {
            get { return _SelBoundSet; }
            set
            {
                _SelBoundSet = value;
                RaisePropertyChanged(nameof(SelBoundSet));
                SelJointSet = value?.InJointCond;
            }
        }
        private JointCond _SelJointSet;

        public JointCond SelJointSet
        {
            get { return _SelJointSet; }
            set
            {
                _SelJointSet = value;
                RaisePropertyChanged(nameof(SelJointSet));
            }
        }
        private WallThermalTypes[] _WallThermalTypes = Enum.GetValues<WallThermalTypes>();
        public WallThermalTypes[] WallThermalTypes
        {
            get { return _WallThermalTypes; }
            set
            {
                _WallThermalTypes = value;
                RaisePropertyChanged(nameof(WallThermalTypes));
            }
        }
    }

}
